using Business.Models;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;

namespace Business.EntityFrameworkCore
{
    [ConnectionStringName("Business")]
    public class BusinessDbContext : AbpDbContext<BusinessDbContext>
    {
        public DbSet<Book> Book { get; set; }

        public DbSet<PrintTemplate> PrintTemplate { get; set; }

        public DbSet<Warehouse> Warehouse { get; set; }

        public DbSet<WarehouseArea> WarehouseArea { get; set; }

        public DbSet<Area> Area { get; set; }

        public DbSet<WarehouseLocation> WarehouseLocation { get; set; }

        public DbSet<Inventory> Inventory { get; set; }

        public DbSet<Inventoryquantity> Inventoryquantity { get; set; }

        public DbSet<Inventorytransit> Inventorytransit { get; set; }

        public DbSet<Inventorywarning> Inventorywarning { get; set; }

        public DbSet<Inventorystrategy> Inventorystrategy { get; set; }

        public DbSet<Inventoryadjustment> Inventoryadjustment { get; set; }

        //public DbSet<Inventory> Inventory { get; set; }

        //public DbSet<Inventoryquantity> Inventoryquantity { get; set; }

        //public DbSet<Inventorytransit> Inventorytransit { get; set; }

        //public DbSet<Inventorywarning> Inventorywarning { get; set; }

        //public DbSet<Inventorystrategy> Inventorystrategy { get; set; }

        //public DbSet<Inventoryadjustment> Inventoryadjustment { get; set; }

        //public DbSet<Inventory> Inventory { get; set; }

        //public DbSet<Inventoryquantity> Inventoryquantity { get; set; }

        //public DbSet<Inventorytransit> Inventorytransit { get; set; }

        //public DbSet<Inventorywarning> Inventorywarning { get; set; }

        //public DbSet<Inventorystrategy> Inventorystrategy { get; set; }

        //public DbSet<Inventoryadjustment> Inventoryadjustment { get; set; }

        public DbSet<OrderLiveWareOUT> OrderLiveWareOUT { get; set; }

        public DbSet<Purchase> Purchase { get; set; }

        public DbSet<Plan> Plan { get; set; }

        public DbSet<WaitingOutbound> WaitingOutbound { get; set; }

        //Code generation...
        public BusinessDbContext(DbContextOptions<BusinessDbContext> options)
            : base(options)
        {

        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.ConfigureBusiness();
        }
    }
}
